<?php

/**
 * ECSHOP 会员大区管理程序
 * ============================================================================
 * 版权所有 2005-2009 上海商派网络科技有限公司，并保留所有权利。
 * 网站地址: http://www.ecshop.com；
 * ----------------------------------------------------------------------------
 * 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和
 * 使用；不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
 * $Author: liubo $
 * $Id: user_rank.php 16881 2009-12-14 09:19:16Z liubo $
*/

define('IN_ECS', true);

require(dirname(__FILE__) . '/includes/init.php');

$exc = new exchange($ecs->table("user_area"), $db, 'area_id', 'area_name');
$exc_user = new exchange($ecs->table("users"), $db, 'area_id', 'area_id');

/*------------------------------------------------------ */
//-- 会员等级列表
/*------------------------------------------------------ */

if ($_REQUEST['act'] == 'list')
{
    $area = array();
    $area = $db->getAll("SELECT * FROM " .$ecs->table('user_area'));

    //$smarty->assign('ur_here',      $_LANG['05_user_rank_list']);
    $smarty->assign('action_link',  array('text' => '添加会员大区', 'href'=>'user_area.php?act=add'));
    $smarty->assign('full_page',    1);

    $smarty->assign('user_area',   $area);
    assign_query_info();
    $smarty->display('user_area.htm');
}

/*------------------------------------------------------ */
//-- 翻页，排序
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'query')
{
    $area = array();
    $area = $db->getAll("SELECT * FROM " .$ecs->table('user_area'));

    $smarty->assign('user_area',   $area);
    make_json_result($smarty->fetch('user_area.htm'));
}

/*------------------------------------------------------ */
//-- 添加会员等级
/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'add')
{
    admin_priv('user_area');

    $area['area_name']    = '';
    $form_action          = 'insert';

    $smarty->assign('area',        $area);
    $smarty->assign('action_link', array('text' => '会员大区设置', 'href'=>'user_area.php?act=list'));
    $smarty->assign('form_action', $form_action);

    assign_query_info();
    $smarty->display('user_area_info.htm');
}

/*------------------------------------------------------ */
//-- 增加会员等级到数据库
/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'insert')
{
    admin_priv('user_area');

    /* 检查是否存在重名的会员等级 */
    if (!$exc->is_only('area_name', trim($_POST['area_name'])))
    {
        sys_msg(sprintf('会员大区名 %s 已经存在。', trim($_POST['area_name'])), 1);
    }

    $sql = "INSERT INTO " .$ecs->table('user_area') ."( ".
                "area_name".") VALUES ("."'$_POST[area_name]'".")";
    $db->query($sql);

    /* 管理员日志 */
    cus_admin_log(trim($_POST['area_name']), '添加', '会员大区');
    clear_cache_files();

    $lnk[] = array('text' => '返回会员大区列表',    'href'=>'user_area.php?act=list');
    $lnk[] = array('text' => '继续添加会员大区', 'href'=>'user_area.php?act=add');
    sys_msg('会员大区已经添加成功', 0, $lnk);
}

/*------------------------------------------------------ */
//-- 删除会员等级
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'remove')
{
    check_authz_json('user_area');
    $area_id = intval($_GET['id']);
    $area_name = $exc->get_name($area_id);

    if ($exc->drop($area_id))
    {
        /* 更新会员表的等级字段 */
        $exc_user->edit("area_id = NULL", $area_id);
        cus_admin_log(addslashes($area_name), '删除', '会员大区');		
        clear_cache_files();
    }
    $url = 'user_area.php?act=query&' . str_replace('act=remove', '', $_SERVER['QUERY_STRING']);
    ecs_header("Location: $url\n");
    exit;

}
/*
 *  编辑会员等级名称
 */
elseif ($_REQUEST['act'] == 'edit_name')
{
    $id = intval($_REQUEST['id']);
    $val = empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
    check_authz_json('user_rank');
    if ($exc->is_only('area_name', $val, $id))
    {
        if ($exc->edit("area_name = '$val'", $id))
        {
            /* 管理员日志 */
            cus_admin_log($val, '编辑', '会员大区');
            clear_cache_files();
            make_json_result(stripcslashes($val));
        }
        else
        {
            make_json_error($db->error());
        }
    }
    else
    {
        make_json_error(sprintf('会员大区名 %s 已经存在。', htmlspecialchars($val)));
    }
}

/**
 * 记录管理员的操作内容
 *
 * @access  public
 * @param   string      $sn         数据的唯一值
 * @param   string      $action     操作的类型
 * @param   string      $content    操作的内容
 * @return  void
 */
function cus_admin_log($sn = '', $action, $content)
{
    $log_info = $action . $content .': '. addslashes($sn);

    $sql = 'INSERT INTO ' . $GLOBALS['ecs']->table('admin_log') . ' (log_time, user_id, log_info, ip_address) ' .
            " VALUES ('" . gmtime() . "', $_SESSION[admin_id], '" . stripslashes($log_info) . "', '" . real_ip() . "')";
    $GLOBALS['db']->query($sql);
}
?>